package com.xy.xyaicpzs.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xy.xyaicpzs.domain.entity.VipCode;

/**
* @author XY003
* @description 针对表【vip_code(会员码表)】的数据库操作Service
* @createDate 2025-01-15 16:41:29
*/
public interface VipCodeService extends IService<VipCode> {

    /**
     * 激活会员码
     * @param userId 用户ID
     * @param code 会员码
     * @return 是否激活成功
     */
    boolean activateVipCode(Long userId, String code);

    /**
     * 批量生成会员码
     * @param numCodes 生成数量
     * @param vipExpireTime 会员有效月数
     * @param createdUserId 创建人ID
     * @param createdUserName 创建人名称
     * @return 生成成功的数量
     */
    int generateVipCodes(int numCodes, int vipExpireTime, Long createdUserId, String createdUserName);

    /**
     * 获取一个可用的会员码
     * @param vipExpireTime 会员有效月数（1或12）
     * @param createdUserId 创建人ID
     * @param createdUserName 创建人名称
     * @return 可用的会员码，如果没有则返回null
     */
    String getAvailableVipCode(int vipExpireTime, Long createdUserId, String createdUserName);

} 